home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / PCCardEnablerPlugin.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  16.7 KB  |  379 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        PCCardEnablerPlugin.p
  3.  
  4.      Contains:    ???
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1997-1998 by Apple Computer, Inc. and SystemSoft Corporation.  All rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT PCCardEnablerPlugin;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __PCCARDENABLERPLUGIN__}
  27. {$SETC __PCCARDENABLERPLUGIN__ := 1}
  28.  
  29. {$I+}
  30. {$SETC PCCardEnablerPluginIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __NAMEREGISTRY__}
  37. {$I NameRegistry.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __INTERRUPTS__}
  40. {$I Interrupts.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __PCCARD__}
  43. {$I PCCard.p}
  44. {$ENDC}
  45.  
  46.  
  47. {$PUSH}
  48. {$ALIGN POWER}
  49. {$LibExport+}
  50.  
  51. {$IFC UNDEFINED __CARDSERVICES__ }
  52. {
  53.     NOTE: These prototypes conflict with CardServices.≈
  54.           You cannot use both PCCardEnablerPlugin.h and CardServices.h
  55.           
  56. }
  57.  
  58. {    Copyright:    © 1996 SystemSoft Corporation, all rights reserved. }
  59. {------------------------------------------------------------------------------------
  60.     Card Services calls exported by the Family
  61. ------------------------------------------------------------------------------------}
  62. {     Card Services for Card Enablers }
  63.  
  64. FUNCTION CSGetCardServicesInfo(VAR socketCount: UInt32; VAR complianceLevel: UInt32; VAR version: UInt32): OSStatus; C;
  65.  
  66. {  Function prototypes for tuples calls  }
  67.  
  68. FUNCTION CSGetFirstTuple(socket: PCCardSocket; device: UInt32; tupleIterator: PCCardTupleIterator; desiredTuple: ByteParameter; tupleData: UNIV Ptr; VAR tupleBufferSize: ByteCount; VAR foundTuple: Byte): OSStatus; C;
  69. FUNCTION CSGetNextTuple(tupleIterator: PCCardTupleIterator; desiredTuple: ByteParameter; tupleData: UNIV Ptr; VAR tupleBufferSize: ByteCount; VAR foundTuple: Byte): OSStatus; C;
  70.  
  71. {  Function prototypes for window calls }
  72.  
  73. FUNCTION CSRequestWindow(vSocket: PCCardSocket; device: UInt32; windowAttributes: PCCardWindowAttributes; windowSpeed: PCCardAccessSpeed; VAR windowBase: LogicalAddress; VAR windowSize: PCCardWindowSize; VAR windowOffset: PCCardWindowOffset; VAR requestedWindow: PCCardWindowID): OSStatus; C;
  74. FUNCTION CSReleaseWindow(windowToRelease: PCCardWindowID): OSStatus; C;
  75. FUNCTION CSModifyWindow(windowToModify: PCCardWindowID; windowAttributes: PCCardWindowType; memorySpeed: PCCardAccessSpeed; VAR windowOffset: PCCardWindowOffset): OSStatus; C;
  76. FUNCTION CSGetWindowBaseAddress(window: PCCardWindowID; VAR baseAddress: LogicalAddress): OSStatus; C;
  77. FUNCTION CSInquireWindow(vSocket: PCCardSocket; device: UInt32; windowID: PCCardWindowID; VAR windowAttributes: PCCardWindowAttributes; VAR windowParam: PCCardAccessSpeed; VAR windowBase: UInt32; VAR windowSize: PCCardWindowSize; VAR windowOffset: PCCardWindowOffset): OSStatus; C;
  78. {  Function prototypes for CIS calls }
  79.  
  80. FUNCTION CSValidateCIS(vSocket: PCCardSocket; device: UInt32; VAR cisChainCount: UInt32): OSStatus; C;
  81. FUNCTION CSGetDeviceCount(vSocket: PCCardSocket; VAR deviceCount: UInt32): OSStatus; C;
  82.  
  83. {  Function prototypes for Status calls }
  84.  
  85. FUNCTION CSGetStatus(vSocket: PCCardSocket; VAR currentState: UInt32; VAR changedState: UInt32; VAR Vcc: PCCardVoltage; VAR Vpp: PCCardVoltage): OSStatus; C;
  86.  
  87. {  Function prototypes for configuration calls }
  88.  
  89. FUNCTION CSRequestConfiguration(vSocket: PCCardSocket; device: UInt32; configOptions: PCCardConfigOptions; socketInterface: PCCardInterfaceType; customInterface: PCCardCustomInterfaceID; vcc: PCCardVoltage; vpp: PCCardVoltage; IRQ: PCCardIRQ; DMA: PCCardDMA; configRegBaseAddress: UInt32; configRegPresentMask: PCCardConfigPresentMask; VAR configReg: PCCardFunctionConfigReg): OSStatus; C;
  90. FUNCTION CSModifyConfiguration(vSocket: PCCardSocket; device: UInt32; modifyAttributes: PCCardConfigOptions; IRQ: PCCardIRQ; DMA: PCCardDMA; Vpp: PCCardVoltage): OSStatus; C;
  91. FUNCTION CSReleaseConfiguration(vSocket: PCCardSocket; device: UInt32): OSStatus; C;
  92. FUNCTION CSSetRingIndicate(vSocket: PCCardSocket; setRingIndicate: BOOLEAN): OSStatus; C;
  93. FUNCTION CSResetFunction(vSocket: PCCardSocket; device: UInt32): OSStatus; C;
  94. FUNCTION CSReadConfigurationRegister(vSocket: PCCardSocket; device: UInt32; whichRegister: PCCardConfigPresentMask; configRegBaseAddress: UInt32; VAR registerValue: UInt8): OSStatus; C;
  95. FUNCTION CSWriteConfigurationRegister(vSocket: PCCardSocket; device: UInt32; whichRegister: PCCardConfigPresentMask; configRegBaseAddress: UInt32; registerValue: ByteParameter): OSStatus; C;
  96. { Function prototypes for Client Support calls}
  97. FUNCTION CSRegisterClient(vSocket: PCCardSocket; eventMask: PCCardEventMask; clientCallBack: PCCardEventHandler; clientParam: UNIV Ptr; VAR newClientID: PCCardClientID): OSStatus; C;
  98. FUNCTION CSDeRegisterClient(theClientID: PCCardClientID): OSStatus; C;
  99. FUNCTION CSSetEventMask(theClientID: PCCardClientID; newEventMask: PCCardEventMask): OSStatus; C;
  100. FUNCTION CSGetEventMask(theClientID: PCCardClientID; VAR newEventMask: PCCardEventMask): OSStatus; C;
  101. FUNCTION CSRegisterTimer(registeredClientID: PCCardClientID; VAR lpNewTimerID: PCCardTimerID; delay: LONGINT): OSStatus; C;
  102. FUNCTION CSDeRegisterTimer(timerID: PCCardTimerID): OSStatus; C;
  103. { Function prototypes for CardBus Config Space access}
  104. FUNCTION CSReadCardBusConfigSpace(vSocket: PCCardSocket; device: UInt32; configOffset: UInt32; VAR data: Byte; dataSize: UInt32): OSStatus; C;
  105. FUNCTION CSWriteCardBusConfigSpace(vSocket: PCCardSocket; device: UInt32; configOffset: UInt32; VAR data: Byte; dataSize: UInt32): OSStatus; C;
  106. {------------------------------------------------------------------------------------
  107.     Card Enabler Types
  108. ------------------------------------------------------------------------------------}
  109.  
  110. CONST
  111.     kUnknownDeviceType            = 'unkn';                        {  class-code = 0x00  }
  112.     kSCSIDeviceType                = 'scsi';                        {  class-code = 0x01, sub-class = 0x00  }
  113.     kBlockDeviceType            = 'blok';                        {  class-code = 0x01, sub-class = 0xXX  }
  114.     kNetworkDeviceType            = 'netw';                        {  class-code = 0x02  }
  115.     kDisplayDeviceType            = 'dspl';                        {  class-code = 0x03  }
  116.     kMultimediaDeviceType        = 'mmdv';                        {  class-code = 0x04  }
  117.     kMemoryDeviceType            = 'mem ';                        {  class-code = 0x05  }
  118.     kBridgeDeviceType            = 'brdg';                        {  class-code = 0x06  }
  119.     kCommDeviceType                = 'comm';                        {  class-code = 0x07  }
  120.     kPeripheralDeviceType        = 'sysp';                        {  class-code = 0x08  }
  121.     kInputDeviceType            = 'inpt';                        {  class-code = 0x09  }
  122.     kDockingDeviceType            = 'dock';                        {  class-code = 0x0A  }
  123.     kProcessorDeviceType        = 'proc';                        {  class-code = 0x0B  }
  124.     kFirewireBusDeviceType        = 'firw';                        {  class-code = 0x0C, sub-class = 0x00  }
  125.     kACCESSBusDeviceType        = 'accs';                        {  class-code = 0x0C, sub-class = 0x01  }
  126.     kSSABusDeviceType            = 'ssa ';                        {  class-code = 0x0C, sub-class = 0x02  }
  127.     kUSBBusDeviceType            = 'usb ';                        {  class-code = 0x0C, sub-class = 0x03  }
  128.     kFibreBusDeviceType            = 'fibr';                        {  class-code = 0x0C, sub-class = 0x04  }
  129.     kByteDeviceType                = 'byte';                        {  class-code = 0x??  }
  130.     kSerialDeviceType            = 'ser ';                        {  class-code = 0x??  }
  131.     kParallelDeviceType            = 'parl';                        {  class-code = 0x??  }
  132.     kAIMSDeviceType                = 'aims';                        {  class-code = 0x??  }
  133.  
  134.  
  135. TYPE
  136.     PCDeviceType                        = OSType;
  137.  
  138. CONST
  139.     kAttributeType                = 0;
  140.     kMemoryType                    = 1;
  141.     kIOType                        = 2;
  142.  
  143.  
  144. TYPE
  145.     PCCardMemoryType                    = UInt32;
  146.  
  147. CONST
  148.     kUnknown                    = 'unkn';
  149.     kPCCard16                    = 'pc16';
  150.     kCardBus                    = 'cdbs';
  151.  
  152.  
  153. TYPE
  154.     PCCardArchitectureType                = OSType;
  155.  
  156. {------------------------------------------------------------------------------------
  157.   Plugin Dispatch Table
  158. ------------------------------------------------------------------------------------}
  159.  
  160. CONST
  161.     kServiceTypePCCardEnabler    = 'card';
  162.     kPCCardEnablerPluginVersion    = $00000001;
  163.     kPCCardEnablerPluginCurrentVersion = $00000001;
  164.  
  165. {    Card Enabler Entrypoints}
  166.  
  167. TYPE
  168. {$IFC TYPED_FUNCTION_POINTERS}
  169.     CEValidateHardwareProc = FUNCTION({CONST}VAR cardRef: RegEntryID): OSStatus; C;
  170. {$ELSEC}
  171.     CEValidateHardwareProc = ProcPtr;
  172. {$ENDC}
  173.  
  174. {$IFC TYPED_FUNCTION_POINTERS}
  175.     CEInitializeProc = FUNCTION({CONST}VAR cardRef: RegEntryID; replacingOld: BOOLEAN): OSStatus; C;
  176. {$ELSEC}
  177.     CEInitializeProc = ProcPtr;
  178. {$ENDC}
  179.  
  180. {$IFC TYPED_FUNCTION_POINTERS}
  181.     CECleanupProc = FUNCTION({CONST}VAR cardRef: RegEntryID; beingReplaced: BOOLEAN): OSStatus; C;
  182. {$ELSEC}
  183.     CECleanupProc = ProcPtr;
  184. {$ENDC}
  185.  
  186. {$IFC TYPED_FUNCTION_POINTERS}
  187.     CEPowerManagementProc = FUNCTION({CONST}VAR lpCardEntry: RegEntryID; powerLevel: PCCardPowerOptions): OSStatus; C;
  188. {$ELSEC}
  189.     CEPowerManagementProc = ProcPtr;
  190. {$ENDC}
  191.  
  192. {$IFC TYPED_FUNCTION_POINTERS}
  193.     CEHandleEventProc = FUNCTION({CONST}VAR cardRef: RegEntryID; theEvent: PCCardEvent): OSStatus; C;
  194. {$ELSEC}
  195.     CEHandleEventProc = ProcPtr;
  196. {$ENDC}
  197.  
  198. {$IFC TYPED_FUNCTION_POINTERS}
  199.     CEGetCardInfoProc = FUNCTION({CONST}VAR cardRef: RegEntryID; VAR cardType: PCCardDevType; VAR cardSubType: PCCardSubType; cardName: StringPtr; vendorName: StringPtr): OSStatus; C;
  200. {$ELSEC}
  201.     CEGetCardInfoProc = ProcPtr;
  202. {$ENDC}
  203.  
  204. {$IFC TYPED_FUNCTION_POINTERS}
  205.     CEAddCardPropertiesProc = FUNCTION({CONST}VAR cardRef: RegEntryID): OSStatus; C;
  206. {$ELSEC}
  207.     CEAddCardPropertiesProc = ProcPtr;
  208. {$ENDC}
  209.  
  210. {$IFC TYPED_FUNCTION_POINTERS}
  211.     CEGetDeviceCountProc = FUNCTION({CONST}VAR cardRef: RegEntryID; VAR numberOfDevices: ItemCount): OSStatus; C;
  212. {$ELSEC}
  213.     CEGetDeviceCountProc = ProcPtr;
  214. {$ENDC}
  215.  
  216. {$IFC TYPED_FUNCTION_POINTERS}
  217.     CEGetDeviceNameProc = FUNCTION(socketNumber: UInt32; deviceNumber: UInt32; deviceName: CStringPtr): OSStatus; C;
  218. {$ELSEC}
  219.     CEGetDeviceNameProc = ProcPtr;
  220. {$ENDC}
  221.  
  222. {$IFC TYPED_FUNCTION_POINTERS}
  223.     CEGetDeviceCompatibleProc = FUNCTION({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; name: CStringPtr): OSStatus; C;
  224. {$ELSEC}
  225.     CEGetDeviceCompatibleProc = ProcPtr;
  226. {$ENDC}
  227.  
  228. {$IFC TYPED_FUNCTION_POINTERS}
  229.     CEGetDeviceTypeProc = FUNCTION({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; VAR lpDeviceType: PCDeviceType): OSStatus; C;
  230. {$ELSEC}
  231.     CEGetDeviceTypeProc = ProcPtr;
  232. {$ENDC}
  233.  
  234. {$IFC TYPED_FUNCTION_POINTERS}
  235.     CEGetDeviceTypeNameProc = FUNCTION({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; name: CStringPtr): OSStatus; C;
  236. {$ELSEC}
  237.     CEGetDeviceTypeNameProc = ProcPtr;
  238. {$ENDC}
  239.  
  240. {$IFC TYPED_FUNCTION_POINTERS}
  241.     CEAddDevicePropertiesProc = FUNCTION({CONST}VAR deviceRef: RegEntryID; device: UInt32): OSStatus; C;
  242. {$ELSEC}
  243.     CEAddDevicePropertiesProc = ProcPtr;
  244. {$ENDC}
  245.  
  246. {$IFC TYPED_FUNCTION_POINTERS}
  247.     CEConfigureDeviceProc = FUNCTION({CONST}VAR deviceRef: RegEntryID; deviceNumber: UInt32): OSStatus; C;
  248. {$ELSEC}
  249.     CEConfigureDeviceProc = ProcPtr;
  250. {$ENDC}
  251.  
  252. {$IFC TYPED_FUNCTION_POINTERS}
  253.     CEFinalizeDeviceProc = FUNCTION(socket: UInt32; device: UInt32; {CONST}VAR deviceRef: RegEntryID): OSStatus; C;
  254. {$ELSEC}
  255.     CEFinalizeDeviceProc = ProcPtr;
  256. {$ENDC}
  257.  
  258. {$IFC TYPED_FUNCTION_POINTERS}
  259.     CEValidateCISProc = FUNCTION(socket: UInt32; device: UInt32; VAR lpCISChainCount: UInt32): OSStatus; C;
  260. {$ELSEC}
  261.     CEValidateCISProc = ProcPtr;
  262. {$ENDC}
  263.  
  264. {$IFC TYPED_FUNCTION_POINTERS}
  265.     CEGetFirstTupleProc = FUNCTION(socket: UInt32; device: UInt32; lpTupleIterator: PCCardTupleIterator; desiredTuple: ByteParameter; lptupleData: UNIV Ptr; VAR lpTupleBufferSize: UInt32; VAR lpFoundTuple: Byte): OSStatus; C;
  266. {$ELSEC}
  267.     CEGetFirstTupleProc = ProcPtr;
  268. {$ENDC}
  269.  
  270. {$IFC TYPED_FUNCTION_POINTERS}
  271.     CEGetNextTupleProc = FUNCTION(lpTupleIterator: PCCardTupleIterator; desiredTuple: ByteParameter; lptupleData: UNIV Ptr; VAR lpTupleBufferSize: UInt32; VAR lpFoundTuple: Byte): OSStatus; C;
  272. {$ELSEC}
  273.     CEGetNextTupleProc = ProcPtr;
  274. {$ENDC}
  275.  
  276.     PCCardEnablerPluginHeaderPtr = ^PCCardEnablerPluginHeader;
  277.     PCCardEnablerPluginHeader = RECORD
  278.         pluginDispatchTableVersion: UInt32;
  279.         reserved1:                UInt32;
  280.         reserved2:                UInt32;
  281.         reserved3:                UInt32;
  282.     END;
  283.  
  284.     PCCardEnablerPluginDispatchTablePtr = ^PCCardEnablerPluginDispatchTable;
  285.     PCCardEnablerPluginDispatchTable = RECORD
  286.         header:                    PCCardEnablerPluginHeader;
  287.                                                                         {  General functions }
  288.         validateHardwareProc:    CEValidateHardwareProc;
  289.         initializeProc:            CEInitializeProc;
  290.         cleanUpProc:            CECleanupProc;
  291.         setPCCardPowerLevel:    CEPowerManagementProc;
  292.                                                                         {  Card functions }
  293.         handleEventProc:        CEHandleEventProc;
  294.         getCardInfoProc:        CEGetCardInfoProc;
  295.         addCardProperties:        CEAddCardPropertiesProc;
  296.         getDeviceCount:            CEGetDeviceCountProc;
  297.                                                                         {  Device functions }
  298.         getDeviceName:            CEGetDeviceNameProc;
  299.         getDeviceCompatibleNames: CEGetDeviceCompatibleProc;
  300.         getDeviceType:            CEGetDeviceTypeProc;
  301.         getDeviceTypeName:        CEGetDeviceTypeNameProc;
  302.         addDeviceProperties:    CEAddDevicePropertiesProc;
  303.         configureDevice:        CEConfigureDeviceProc;
  304.         finalizeDevice:            CEFinalizeDeviceProc;
  305.                                                                         {  Card Services Overrides... }
  306.         validateCIS:            CEValidateCISProc;
  307.         getFirstTuple:            CEGetFirstTupleProc;
  308.         getNextTuple:            CEGetNextTupleProc;
  309.                                                                         {  InterruptHandlers... }
  310.         cardInterruptHandlerFunction: InterruptHandler;
  311.         cardInterruptEnableFunction: InterruptEnabler;
  312.         cardInterruptDisableFunction: InterruptDisabler;
  313.     END;
  314.  
  315. {------------------------------------------------------------------------------------
  316.     PC Card Enabler Utility calls exported by the Family
  317. ------------------------------------------------------------------------------------}
  318. {    Generic Enabler Entrypoints}
  319. FUNCTION CEInitializeCard({CONST}VAR cardRef: RegEntryID; replacingOld: BOOLEAN): OSStatus; C;
  320. FUNCTION CEFinalizeCard({CONST}VAR cardRef: RegEntryID; beingReplaced: BOOLEAN): OSStatus; C;
  321. FUNCTION CEPowerManagement({CONST}VAR lpParentID: RegEntryID; powerLevel: PCCardPowerOptions): OSStatus; C;
  322. FUNCTION CEHandleCardEvent({CONST}VAR cardRef: RegEntryID; lTheCardEvent: PCCardEvent): OSStatus; C;
  323. FUNCTION CEGetCardInfo({CONST}VAR cardRef: RegEntryID; VAR cardType: PCCardDevType; VAR cardSubType: PCCardSubType; cardName: StringPtr; vendorName: StringPtr): OSStatus; C;
  324. FUNCTION CEAddCardProperties({CONST}VAR cardRef: RegEntryID): OSStatus; C;
  325. FUNCTION CEGetDeviceCount({CONST}VAR cardRef: RegEntryID; VAR numberOfDevices: ItemCount): OSStatus; C;
  326. {  device functions }
  327. FUNCTION CEGetDeviceName(socketNumber: UInt32; deviceNumber: UInt32; deviceName: CStringPtr): OSStatus; C;
  328. FUNCTION CEGetDeviceCompatibleNames({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; name: CStringPtr): OSStatus; C;
  329. FUNCTION CEGetDeviceType({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; VAR lpDeviceType: PCDeviceType): OSStatus; C;
  330. FUNCTION CEGetDeviceTypeName({CONST}VAR deviceRef: RegEntryID; socketNumber: UInt32; deviceNumber: UInt32; name: CStringPtr): OSStatus; C;
  331. FUNCTION CEAddDeviceProperties({CONST}VAR deviceRef: RegEntryID; deviceNumber: UInt32): OSStatus; C;
  332. FUNCTION CEConfigureDevice({CONST}VAR deviceRef: RegEntryID; deviceNumber: UInt32): OSStatus; C;
  333. FUNCTION CEFinalizeDevice(socket: UInt32; device: UInt32; {CONST}VAR deviceRef: RegEntryID): OSStatus; C;
  334.  
  335. {    RegEntryID <-> socket number mapping functions}
  336. FUNCTION CEGetSocketAndDeviceFromRegEntry({CONST}VAR lpNode: RegEntryID; VAR lpSocket: UInt32; VAR lpDevice: UInt32): OSStatus; C;
  337. FUNCTION CEGetPhysicalSocketNumber({CONST}VAR socketRef: RegEntryID; {CONST}VAR lpDeviceEntry: RegEntryID; VAR lpPhysicalSocketNumber: UInt32): OSStatus; C;
  338. {    Hardware Validation Utilities}
  339. FUNCTION CECompareCISTPL_VERS_1({CONST}VAR cardRef: RegEntryID; majorVersion: ByteParameter; minorVersion: ByteParameter; manufacturer: ConstCStringPtr; productName: ConstCStringPtr; info1: ConstCStringPtr; info2: ConstCStringPtr; VAR identical: BOOLEAN): OSStatus; C;
  340. FUNCTION CECompareCISTPL_MANFID({CONST}VAR cardRef: RegEntryID; manufacturerCode: UInt16; manufacturerInfo: UInt16; VAR identical: BOOLEAN): OSStatus; C;
  341. FUNCTION CECompareMemory({CONST}VAR cardRef: RegEntryID; memType: PCCardMemoryType; offset: ByteCount; length: ByteCount; VAR dataToCompare: Byte; VAR identical: BOOLEAN): OSStatus; C;
  342. FUNCTION CEValidateCIS(socket: UInt32; device: UInt32; VAR lpCISChainCount: UInt32): OSStatus; C;
  343. FUNCTION CEDefaultInterruptHandler(ISTmember: InterruptSetMember; refCon: UNIV Ptr; theIntCount: UInt32): InterruptMemberNumber; C;
  344.  
  345. {------------------------------------------------------------------------------------
  346.     PC Card Customization Resources
  347. ------------------------------------------------------------------------------------}
  348.  
  349. CONST
  350.     kPCCardCustomInfoResType    = 'pccd';
  351.     kPCCardCustomInfoVersion    = 0;
  352.  
  353.  
  354. TYPE
  355.     PCCardCustomResourcePtr = ^PCCardCustomResource;
  356.     PCCardCustomResource = RECORD
  357.         version:                LONGINT;
  358.         customIconID:            INTEGER;                                {     ICN#, etc. resource ID }
  359.         customStringsID:        INTEGER;                                {     STR# resource ID }
  360.         customTypeStringIndex:    INTEGER;
  361.         customHelpStringIndex:    INTEGER;
  362.         customAction:            OSType;
  363.         customActionParam1:        LONGINT;
  364.         customActionParam2:        LONGINT;
  365.     END;
  366.  
  367. {$ENDC}
  368.  
  369. {$ALIGN RESET}
  370. {$POP}
  371.  
  372. {$SETC UsingIncludes := PCCardEnablerPluginIncludes}
  373.  
  374. {$ENDC} {__PCCARDENABLERPLUGIN__}
  375.  
  376. {$IFC NOT UsingIncludes}
  377.  END.
  378. {$ENDC}
  379.